home *** CD-ROM | disk | FTP | other *** search
/ ring.yamanashi.ac.jp/pub/pc/freem/action/ / action.zip / shottank.zip / SHOTE‚s‚`‚m‚j / TANK.as.i < prev    next >
Text File  |  2004-03-07  |  17KB  |  870 lines

  1. ##0 "hspdef.as"
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59. ##0 "TANK.as"
  60. ##0 "hgimg.as"
  61.  
  62.  
  63.  
  64.  
  65.  
  66. #uselib "hgimg.dll"
  67. #func _hgini hgini 2
  68. #func hgsrc hgsrc 2
  69. #func hgdst hgdst 2
  70. #func hgdraw hgdraw 0
  71. #func hgsync hgsync 2
  72. #func hgbye hgbye $100
  73. #func getsync getsync 1
  74. #func sync sync 0
  75. #func getdebug getdebug 1
  76. #func hgsetreq hgsetreq 0
  77. #func hggetreq hggetreq 1
  78.  
  79. #func setborder setborder 0
  80. #func clscolor clscolor 0
  81. #func clstex clstex 0
  82. #func setfont setfont 0
  83. #func fprt fprt 6
  84.  
  85. #func objset1 objset1 0
  86. #func objadd1 objadd1 0
  87. #func objmov1 objmov1 0
  88. #func objsetf1 objsetf1 0
  89. #func objaddf1 objaddf1 0
  90. #func objmovf1 objmovf1 0
  91. #func objcheck objcheck 1
  92. #func objmovmode objmovmode 0
  93. #func objmovopt objmovopt 0
  94.  
  95. #func objset2 objset2 0
  96. #func objadd2 objadd2 0
  97. #func objmov2 objmov2 0
  98. #func objsetf2 objsetf2 0
  99. #func objaddf2 objaddf2 0
  100. #func objmovf2 objmovf2 0
  101.  
  102. #func objset3 objset3 0
  103. #func objadd3 objadd3 0
  104. #func objmov3 objmov3 0
  105. #func objsetf3 objsetf3 0
  106. #func objaddf3 objaddf3 0
  107. #func objmovf3 objmovf3 0
  108.  
  109. #func selmoc selmoc 0
  110. #func selpos selpos 0
  111. #func selang selang 0
  112. #func selscale selscale 0
  113. #func seldir seldir 0
  114.  
  115. #func objgetfv objgetfv 1
  116. #func objgetv objgetv 1
  117. #func objsetfv objsetfv 1
  118. #func objsetv objsetv 1
  119. #func objaddfv objaddfv 1
  120. #func objmovfv objmovfv 1
  121. #func objgetstr objgetstr 1
  122. #func objact objact 0
  123.  
  124. #func fvset fvset 1
  125. #func fvseti fvseti 1
  126. #func fvadd fvadd 1
  127. #func fvsub fvsub 1
  128. #func fvmul fvmul 1
  129. #func fvdiv fvdiv 1
  130. #func fvdir fvdir 1
  131. #func fvget fvget 1
  132. #func fvmin fvmin 1
  133. #func fvmax fvmax 1
  134. #func fvouter fvouter 1
  135. #func fvinner fvinner 1
  136. #func fvunit fvunit 1
  137. #func fvface fvface 1
  138. #func fv2str fv2str $11
  139. #func f2str f2str $11
  140. #func str2f str2f 5
  141. #func str2fv str2fv 5
  142. #func f2i f2i 1
  143. #func fsin fsin 1
  144. #func fcos fcos 1
  145. #func fsqr fsqr 1
  146. #func fadd fadd 1
  147. #func fsub fsub 1
  148. #func fmul fmul 1
  149. #func fdiv fdiv 1
  150. #func fcmp fcmp 1
  151. #func froti froti 1
  152.  
  153. #func setuv setuv 0
  154. #func setsizef setsizef 0
  155. #func setbg setbg 0
  156. #func getbg getbg $83
  157. #func setmap setmap 0
  158. #func addbox addbox 1
  159. #func addplate addplate 1
  160. #func addspr addspr 1
  161. #func addbg addbg 1
  162. #func regobj regobj 1
  163. #func delobj delobj 0
  164. #func setobjm setobjm 0
  165. #func uvanim uvanim 0
  166. #func setmode setmode 0
  167. #func settimer settimer 0
  168. #func setobjmode setobjmode 0
  169. #func setcoli setcoli 0
  170. #func getcoli getcoli 1
  171. #func findobj findobj 0
  172. #func nextobj nextobj 1
  173.  
  174. #func evmodel evmodel 0
  175. #func setmtex setmtex 0
  176. #func getmtex getmtex 1
  177.  
  178. #func cammode cammode 0
  179. #func selcam selcam 0
  180. #func selcpos selcpos 0
  181. #func selcang selcang 0
  182. #func selcint selcint 0
  183.  
  184. #func copybuf copybuf 2
  185.  
  186. #func mxsend mxsend 1
  187. #func mxconv mxconv 1
  188. #func mxaconv mxaconv 1
  189. #func mxgetpoly mxgetpoly 1
  190. #func mxgetname mxgetname 1
  191. #func settex settex 2
  192. #func gettex gettex 1
  193.  
  194. #func addmesh addmesh 1
  195.  
  196.  
  197.  
  198.  
  199. #func modelmovef modelmovef 0
  200. #func modelshade modelshade 0
  201. #func dxfconv dxfconv 1
  202. #func dxfgetpoly dxfgetpoly 1
  203. #func objscanf2 objscanf2 1
  204. #func objscan2 objscan2 1
  205. #func mxsave mxsave 6
  206. #func setmchild setmchild 0
  207. #func setmsibling setmsibling 0
  208. #func getmchild getmchild 1
  209. #func getmsibling getmsibling 1
  210. #func setmfv setmfv 1
  211. #func getmfv getmfv 1
  212. #func getmodel getmodel 1
  213. #func putmodel putmodel 1
  214. #func dupnode dupnode $83
  215. #func gettree gettree 1
  216. #func hgreset hgreset 2
  217. #func mxtex mxtex 1
  218. #func setmuv setmuv 1
  219. #func getmuv getmuv 1
  220. #func nodemax nodemax 1
  221. #func getmpoly getmpoly 1
  222. #func setmpoly setmpoly 1
  223.  
  224. #func objset1r objset1r 0
  225. #func objmov1r objmov1r 0
  226. #func objset2r objset2r 0
  227. #func objmov2r objmov2r 0
  228. #func objset3r objset3r 0
  229. #func objmov3r objmov3r 0
  230.  
  231. #func sellight sellight 0
  232. #func sellpos sellpos 0
  233. #func sellang sellang 0
  234. #func sellcolor sellcolor 0
  235. #func selefx selefx 0
  236. #func falpha falpha 0
  237. #func setcolor setcolor 0
  238. #func clsblur clsblur 0
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308. goto *_HGIMG_exit
  309.  
  310. #deffunc hgini int,int
  311.  
  312.  
  313.  
  314. mref p1@hgimg,0
  315. mref p2@hgimg,1
  316. mref bm@hgimg,67
  317. hgmode@hgimg = bm@hgimg.3
  318. _hgini hgmode@hgimg,p1@hgimg,p2@hgimg
  319. return
  320.  
  321.  
  322. #deffunc texload str
  323.  
  324.  
  325.  
  326. mref fn@hgimg,32
  327. buffer 3,100,100,hgmode@hgimg
  328. picload fn@hgimg
  329. settex winx,winy
  330. if stat : dialog "Texture Error("+stat+")" : return
  331. return
  332.  
  333.  
  334. #deffunc texloadbg str
  335.  
  336.  
  337.  
  338. mref fn@hgimg,32
  339. buffer 3,100,100,hgmode@hgimg
  340. picload fn@hgimg
  341. clstex
  342. settex winx,winy,1
  343. if stat : dialog "Texture Error("+stat+")" : return
  344. return
  345.  
  346.  
  347. #deffunc mxload str
  348.  
  349.  
  350.  
  351. mref fn@hgimg,32
  352. mref _mdid@hgimg,64
  353. fname@hgimg = fn@hgimg+".mx"
  354. exist fname@hgimg
  355. if strsize<0 : dialog "file error ["+fname@hgimg+"]" : end
  356. sdim buf@hgimg,strsize
  357. s1@hgimg=""
  358. bload fname@hgimg,buf@hgimg
  359. mxsend buf@hgimg
  360. buffer 3,100,100,hgmode@hgimg
  361. repeat
  362. mxgetname s1@hgimg,cnt : if s1@hgimg="" : break
  363. exist s1@hgimg+".bmp"
  364. if strsize<0 : dialog "No file ["+s1@hgimg+"]" : end
  365. texload s1@hgimg+".bmp"
  366. loop
  367. mxconv mdid        
  368. mxgetpoly polys    
  369. sdim buf@hgimg,64
  370. _mdid@hgimg = mdid
  371. return
  372.  
  373.  
  374. #deffunc maload str
  375.  
  376.  
  377. mref fn@hgimg,32
  378. fname@hgimg = fn@hgimg+".ma"
  379. exist fname@hgimg
  380. if strsize<0 : dialog "file error ["+fname@hgimg+"]" : end
  381. sdim buf@hgimg,strsize
  382. bload fname@hgimg,buf@hgimg
  383. mxaconv buf@hgimg
  384. sdim buf@hgimg,64
  385. return
  386.  
  387.  
  388. #deffunc dxfload str
  389.  
  390.  
  391.  
  392. mref fn@hgimg,32
  393. mref _mdid@hgimg,64
  394. fname@hgimg = fn@hgimg+".dxf"
  395. exist fname@hgimg
  396. if strsize<0 : dialog "file error ["+fname@hgimg+"]" : end
  397. sdim buf@hgimg,strsize
  398. s1@hgimg=""
  399. bload fname@hgimg,buf@hgimg
  400. dxfconv buf@hgimg
  401. mdid = stat
  402. dxfgetpoly polys    
  403. _mdid@hgimg = mdid
  404. return
  405.  
  406.  
  407.  
  408. *_hgimg_exit
  409.  
  410. ##1 "TANK.as"
  411. title "SHOT TANK" 
  412. randomize
  413.  
  414. screen 0,640,480,0,100,70
  415. cls 4:hgini
  416. randomize:âXâeü[âW=0:âRâôâeâBâjâàü[=3
  417. *start 
  418. hgreset 
  419.  
  420. font "élér âSâVâbâN",40
  421. ÄwÆΦ=0:sdim ìÇû┌,20,6
  422. s=0
  423. ìÇû┌="GAME START","EXIT"
  424. buffer 14,0,0:picload "zyunnbi.bmp":buffer 13,0,0:picload "make.bmp":buffer 12,0,0:picload "win.bmp"
  425. buffer 9,0,0:picload "sute-zi1.bmp":buffer 10,0,0:picload "sute-zi11.bmp":buffer 11,0,0:picload "sute-zi12.bmp"
  426. buffer 8,0,0:picload "taitoru.bmp":buffer 4,0,0:picload "me-ta.bmp":buffer 5,0,0:picload "me-ta2.bmp"
  427. buffer 6,0,0:picload "me-ta3.bmp":buffer 7,0,0:picload "me-ta4.bmp"
  428. buffer 15,0,0:picload "sute-zi2.bmp":buffer 16,0,0:picload "sute-zi21.bmp":buffer 17,0,0:picload "sute-zi22.bmp"
  429. buffer 18,0,0:picload "sute-zi3.bmp":buffer 19,0,0:picload "sute-zi31.bmp":buffer 20,0,0:picload "sute-zi32.bmp"
  430. buffer 21,0,0:picload "sute-zi4.bmp":buffer 22,0,0:picload "sute-zi41.bmp":buffer 23,0,0:picload "sute-zi42.bmp"
  431. buffer 24,0,0:picload "sute-zi5.bmp":buffer 25,0,0:picload "sute-zi51.bmp":buffer 26,0,0:picload "sute-zi52.bmp"
  432. buffer 27,0,0:picload "sute-zi.bmp":buffer 28,0,0:picload "sute-zi7.bmp":buffer 29,0,0:picload "sute-zi8.bmp"
  433. sndload "music.mid",0,1:sndload "baku.wav",3 :sndload "baku2.wav",4:sndload "music2.mid",5,1:sndload "music5.mid",8,1
  434. sndload "music3.mid",6,1:sndload "music4.mid",7,1:sndload "music6.mid",10,1:sndload "music7.mid",11,1
  435.  
  436. setsizef 4.5f,4.5f :setuv 0,0,79,79:addplate mdex,1:texload "baku.bmp":uvanim mdex,2,8,1
  437. setsizef 1.5f,1.5f :setuv 0,0,94,94
  438. addplate mdey,1
  439. texload "kemu.bmp"
  440. uvanim mdey,2,10,1
  441. setsizef 10.5f,10.5f :setuv 0,0,79,79
  442. addplate mdez,1
  443. texload "baku.bmp"
  444. uvanim mdez,4,8,1
  445.  
  446. if âXâeü[âW=0{mxload "eria" 
  447. regobj bgchr,stat, $4000 
  448. selpos bgchr:objset3 0, 0, 0}
  449. if âXâeü[âW=1{mxload "eria2" 
  450. regobj bgchr,stat, $4000 
  451. selpos bgchr:objset3 0, 0, 0}
  452. if âXâeü[âW=2{mxload "eria3" 
  453. regobj bgchr,stat, $4000 
  454. selpos bgchr:objset3 0, 0, 0}
  455. if âXâeü[âW=3{mxload "eria4" 
  456. regobj bgchr,stat, $4000 
  457. selpos bgchr:objset3 0, 0, 0}    
  458. if âXâeü[âW=4{mxload "eria5" 
  459. regobj bgchr,stat, $4000 
  460. selpos bgchr:objset3 0, 0, 0}
  461. if âXâeü[âW=5{mxload "eria6" 
  462. regobj bgchr,stat, $4000 
  463. selpos bgchr:objset3 0, 0, 0}    
  464. mxload "tank1":model=stat 
  465. regobj mychr,model:setcoli mychr,1,8 
  466. selpos mychr:objset3 50, 0, 0 
  467. if âXâeü[âW=0{mxload "tank2":model=stat 
  468. regobj mychr2,model, 32:setcoli mychr2,2,4 
  469. selpos mychr2:objset3 -50, 0, 0}
  470. if âXâeü[âW=1{mxload "tank3":model=stat 
  471. regobj mychr2,model, 32:setcoli mychr2,2,4 
  472. selpos mychr2:objset3 -50, 0, 0} 
  473. if âXâeü[âW=2{mxload "tank4":model=stat 
  474. regobj mychr2,model, 32:setcoli mychr2,2,4 
  475. selpos mychr2:objset3 -50, 0, 0} 
  476. if âXâeü[âW=3{mxload "tank5":model=stat 
  477. regobj mychr2,model, 32:setcoli mychr2,2,4 
  478. selpos mychr2:objset3 -50, 0, 0} 
  479. if âXâeü[âW=4{mxload "tank6":model=stat 
  480. regobj mychr2,model, 32:setcoli mychr2,2,4 
  481. selpos mychr2:objset3 -50, 0, 0} 
  482. if âXâeü[âW=5{mxload "tank7":model=stat 
  483. regobj mychr2,model:setcoli mychr2,2,4 
  484. selpos mychr2:objset3 0, 0, 0}
  485.  
  486. setuv 0,0,99,99:setsizef 4.0f, 4.0f 
  487. addplate ball1,1:texload "tama1.bmp" 
  488. if âXâeü[âW=0{addplate ball2,1:texload "tama2.bmp" 
  489. }
  490. if âXâeü[âW=1{setuv 0,0,64,64:setsizef 2.5f, 2.5f 
  491. addplate ball2,1:texload "tama3.bmp"
  492. }
  493. if âXâeü[âW=2{setuv 0,0,100,100:setsizef 4.5f, 4.5f 
  494. addplate ball2,1:texload "tama4.bmp"
  495. }
  496. if âXâeü[âW=3{setuv 0,0,100,100:setsizef 3.0f, 3.0f 
  497. addplate ball2,1:texload "tama5.bmp"
  498. }
  499. if âXâeü[âW=4{setuv 0,0,100,100:setsizef 1.5f, 1.5f 
  500. addplate ball2,1:texload "tama6.bmp"
  501. }
  502. if âXâeü[âW=5{setuv 0,0,100,100:setsizef 1.5f, 1.5f 
  503. addplate ball2,1:texload "tama7.bmp"
  504. }
  505. if âXâeü[âW=5{setuv 0,0,100,100:setsizef 8.5f, 8.5f 
  506. addplate ball3,1:texload "tama8.bmp"
  507. }
  508. snd 5
  509. if âXâeü[âW!=0:goto *é═é╢é▀
  510. *â^âCâgâïëµû╩
  511. gsel 0
  512. stick key,ÿAÄ╦*10,1
  513. if s>150 {
  514. ÄwÆΦ+=(key&8>0)-(key&2>0)
  515. if ÄwÆΦ<0:ÄwÆΦ=1
  516. if ÄwÆΦ>1:ÄwÆΦ=0
  517. if key&16:on ÄwÆΦ goto *storyâüâCâô,*exit
  518. }
  519. s+2
  520. repeat 6
  521. strlen Æ╖,ìÇû┌.cnt
  522. palcolor -(cnt=ÄwÆΦ)*200+255
  523. pos -8*10+380,cnt*40+400
  524. mes ìÇû┌.cnt
  525. loop
  526. pos 100,50:gzoom 600,300,8,0,0,400,s
  527. if s>155:s=155
  528. redraw 1:redraw 0:await 40:palcolor:boxf
  529. goto *â^âCâgâïëµû╩
  530.  
  531. *storyâüâCâô
  532. wait 50
  533. cls 4
  534. goto *é═é╢é▀
  535.  
  536.  
  537. *exit
  538. goto *owari
  539.  
  540. *é═é╢é▀
  541. gsel 0
  542. cls 4
  543. sndoff
  544. if âRâôâeâBâjâàü[=0{âXâeü[âW=0:goto *start
  545. }
  546. if âXâeü[âW=6{âXâeü[âW=0:goto *start
  547. }
  548. repeat 400
  549. color 255,255,255
  550. font "élérü@âSâVâbâN",40
  551. pos 350,300:mes "NOW LODING...."
  552. if âXâeü[âW=1{
  553. font "élérü@âSâVâbâN",70
  554. pos 30,30:mes "SECOND STAGE"
  555. pos 30,100:gcopy 15,0,0,321,185
  556. pos 300,100:gcopy 16,0,0,315,179
  557. pos 100,320:gcopy 17,0,0,300,150}
  558. if âXâeü[âW=0{
  559. font "élérü@âSâVâbâN",70
  560. pos 30,30:mes "FIRST STAGE"
  561. pos 30,100:gcopy 9,0,0,278,142
  562. pos 300,100:gcopy 10,0,0,291,181
  563. pos 30,300:gcopy 11,0,0,300,150}
  564. if âXâeü[âW=2{
  565. font "élérü@âSâVâbâN",70
  566. pos 30,30:mes "THIRD STAGE"
  567. pos 30,100:gcopy 18,0,0,328,204
  568. pos 300,100:gcopy 19,0,0,341,179
  569. pos 30,300:gcopy 20,0,0,300,150
  570. }
  571. if âXâeü[âW=3{
  572. font "élérü@âSâVâbâN",70
  573. pos 30,30:mes "FOUR STAGE"
  574. pos 30,100:gcopy 21,0,0,328,204
  575. pos 300,100:gcopy 22,0,0,341,179
  576. pos 30,300:gcopy 23,0,0,300,150
  577. }
  578. if âXâeü[âW=4{
  579. font "élérü@âSâVâbâN",70
  580. pos 30,30:mes "FIVE STAGE"
  581. pos 30,100:gcopy 24,0,0,328,204
  582. pos 300,100:gcopy 25,0,0,341,179
  583. pos 30,300:gcopy 26,0,0,300,150
  584. }
  585. if âXâeü[âW=5{
  586. font "élérü@âSâVâbâN",70
  587. pos 30,30:mes "FINAL STAGE"
  588. pos 30,100:gcopy 27,0,0,328,204
  589. pos 300,100:gcopy 28,0,0,341,179
  590. pos 30,300:gcopy 29,0,0,300,150
  591. }
  592. font "élérü@âSâVâbâN",25
  593. pos 400,400:mes "ÄcéΦâRâôâeâBâjâàü["+âRâôâeâBâjâàü[
  594. await 5
  595. loop
  596. cls 4
  597. *greset 
  598. gsel 0
  599. setborder 200.0f,200.0f,200.0f 
  600. hp=300:hp2=300 
  601. selang mychr:objset1 1,0 
  602. selang mychr2:objset1 1,0 
  603. time=0:time2=0:time3=0:time4=0:zikan=1:time5=0
  604. if âXâeü[âW=0:snd 0
  605. if âXâeü[âW=1:snd 6
  606. if âXâeü[âW=2:snd 7
  607. if âXâeü[âW=3:snd 8
  608. if âXâeü[âW=4:snd 10
  609. if âXâeü[âW=5:snd 11
  610. *main 
  611.  
  612. repeat
  613. hgdraw
  614. drawf = stat
  615. gmode 2
  616. stick k,15,1 
  617. if k&128 : goto *owari 
  618. my=mychr:myball=ball1:mycl=4:gosub *keymove 
  619. if lani!=myanim : lani=myanim : objact my,lani 
  620. if âXâeü[âW=0{if damage : hp-30 : if hp<0 : goto *dead 
  621. }
  622. if âXâeü[âW=1{if damage : hp-30 : if hp<0 : goto *dead 
  623. if âXâeü[âW=2{if damage : hp-35 : if hp<0 : goto *dead 
  624. }
  625. if âXâeü[âW=3{if damage : hp-25 : if hp<0 : goto *dead 
  626. }
  627. if âXâeü[âW=4{if damage : hp-10 : if hp<0 : goto *dead 
  628. }
  629. if âXâeü[âW=5{
  630. if time3>200{
  631. if time3<400{
  632. if damage : hp-10 : if hp<0 : goto *dead 
  633. }}}
  634. if âXâeü[âW=5{
  635. if time3>400{
  636. if time3<800{
  637. if damage : hp-5 : if hp<0 : goto *dead 
  638. }}}
  639. my=mychr2:myball=ball2:mycl=8:gosub *keymove2
  640. if lani2!=myanim : lani2=myanim : objact my,lani2 
  641. if âXâeü[âW=0{if damage : hp2-20 : if hp2<0 : goto *dead 
  642. }
  643. if âXâeü[âW=1{if damage : hp2-15 : if hp2<0 : goto *dead
  644. }
  645. if âXâeü[âW=2{if damage : hp2-10 : if hp2<0 : goto *dead
  646. }
  647. if âXâeü[âW=3{if damage : hp2-20 : if hp2<0 : goto *dead
  648. }
  649. if âXâeü[âW=4{if damage : hp2-13 : if hp2<0 : goto *dead
  650. }
  651. if âXâeü[âW=5{if damage : hp2-5 : if hp2<0 : goto *dead
  652. }
  653. if drawf{
  654. redraw 0
  655. pos 20,15:gcopy 5,0,0,300,80
  656. pos 26,43:gcopy 4,0,0,hp-12,46
  657. pos 470,15:gcopy 7,0,0,300,80
  658. pos 476,42:gcopy 6,0,0,hp2-12,46
  659. redraw 1
  660. }
  661. time+1:time2+1:time3+1:time4+1:time5+1
  662. if time>200 :time4=0
  663. rnd r, 7
  664. r = 3 - r 
  665. fvseti fv8, r
  666. fvmul fv8, 0.05f 
  667. Ä₧è╘+1
  668. hgsync speed
  669. if zikan=1{    
  670. pos 250,200:gcopy 14,0,0,300,100
  671. zikan=0:wait 300}
  672. loop
  673. *keymove 
  674.  
  675. damage=0:getcoli a,my,2.5f 
  676. if a!=-1 : damage=10 
  677. if a!=-1 : snd 3    
  678. if a!=-1 : {selpos a :objgetfv po
  679. regobj ob,mdex, 16
  680. selpos ob :objsetfv po
  681. }
  682. if a!=-1 :delobj a
  683.  
  684. selpos my 
  685. objgetv fv:mx=fv.0:mz=fv.2 
  686. if k&16 : gosub *myshot
  687. if k&1 : gosub *mymov 
  688. if k&4 : gosub *mymov 
  689. if k&2 : gosub *mymov 
  690. if k&8 : gosub *mymov 
  691. return 
  692. *keymove2
  693. selpos my 
  694. objgetv fv:mx=fv.0:mz=fv.2 
  695. if âXâeü[âW=0:if time3>70: gosub *myshot2
  696. if âXâeü[âW=1:if time3>70: gosub *myshot2
  697. if âXâeü[âW=2:if time3>80: gosub *myshot2
  698. if âXâeü[âW=3:if time3>98: gosub *myshot2
  699. if âXâeü[âW=4:if time3>20: gosub *myshot2
  700. if âXâeü[âW=5{if time3>200:if time3<400:if time5>5: gosub *myshot2
  701. }
  702. if âXâeü[âW=5{if time3>430:if time3<800:myball=ball3:if time5>3:fv8=0.0f: gosub *myshot2
  703. }
  704.  
  705. if âXâeü[âW=0{damage=0:getcoli a,my,2.5f 
  706. }
  707. if âXâeü[âW=1{damage=0:getcoli a,my,2.5f 
  708. }
  709. if âXâeü[âW=2{damage=0:getcoli a,my,2.5f 
  710. }
  711. if âXâeü[âW=3{damage=0:getcoli a,my,2.5f 
  712. }
  713. if âXâeü[âW=4{damage=0:getcoli a,my,2.5f 
  714. }
  715. if âXâeü[âW=5{damage=0:getcoli a,my,22.5f 
  716. }
  717. if a!=-1 : damage=10 
  718. if a!=-1 : snd 3    
  719. if a!=-1 : {selpos a :objgetfv po
  720. regobj ob,mdex, 16
  721. selpos ob :objsetfv po
  722. }
  723. if a!=-1 :delobj a
  724. if âXâeü[âW=0:if time3>70:time3=0
  725. if âXâeü[âW=1:if time3>70:time3=0
  726. if âXâeü[âW=2:if time3>80:time3=0
  727. if âXâeü[âW=3:if time3>100:time3=0
  728. if âXâeü[âW=4:if time3>20:time3=0
  729. if âXâeü[âW=5:if time3>800:time3=0
  730. if myball=ball2{if time5>5:time5=0
  731. }
  732. if myball=ball3{if time5>3:time5=0
  733. }
  734. gosub *ôGê┌ô«
  735. return 
  736. *ôGê┌ô«
  737.  
  738. selpos mychr2
  739. objgetfv posenemy
  740. selpos mychr
  741. objgetfv posme
  742.  
  743.  
  744. fvface posenemy, posme.0, posme.1, posme.2
  745. selang mychr2
  746. objsetfv posenemy
  747.  
  748.  
  749. selpos mychr2
  750. objgetfv posenemy
  751. fvsub posme, posenemy.0, posenemy.1, posenemy.2
  752. fvdiv posme, 400f, 400f, 400f
  753. seldir mychr2
  754. objsetfv posme
  755.  
  756. *mymov 
  757. speed=20
  758. if k&2{
  759. if time2>20{
  760. selpos my :objgetfv po
  761. regobj ob,mdey, 16
  762. selpos ob :objsetfv po
  763. time2=0
  764. }}
  765.  
  766. selpos mychr 
  767. objgetfv fv 
  768. selang mychr 
  769. if k&1 : objaddf1 1,-0.008f
  770. if k&4 : objaddf1 1,0.008f
  771. if k&2 { 
  772. objgetfv fv2 
  773. fvdir fv2,0.0f,0.0f,0.12f 
  774. fvadd fv,fv2.0,fv2.1,fv2.2 
  775. if k&8 { 
  776. objgetfv fv2 
  777. fvdir fv2,0.0f,0.0f,-0.1f 
  778. fvadd fv,fv2.0,fv2.1,fv2.2 
  779. fvmin fv, -100.0f, -100.0f, -100.0f 
  780. fvmax fv, 100.0f, 100.0f, 100.0f 
  781. selpos mychr 
  782. objsetfv fv 
  783.  
  784. selang mychr 
  785. objgetfv fv_cang 
  786. fvadd fv_cang,0.0f, 34.6f, 0.0f 
  787. fvmul fv_cang,1.0f,-1.0f, 1.0f 
  788. selcang : objsetfv fv_cang 
  789.  
  790. selpos mychr 
  791. objgetfv fv_cpos 
  792. fvset fv_wk,0.0f,0.0f,0.0f 
  793. fsin fv_wk.0,fv_cang.1 
  794. fcos fv_wk.2,fv_cang.1 
  795. fvmul fv_wk,14.0f,1.0f,14.0f 
  796. selcpos 
  797. objsetfv fv_cpos 
  798. objaddfv fv_wk 
  799. objaddf3 0.0f,-5.0f,0.0f 
  800. return 
  801. *myshot 
  802.  
  803. if time>45 {
  804. regobj shot,myball, 4| $80| 32 
  805. setcoli shot,mycl,0 
  806. selpos shot:objsetv fv 
  807. selang my:objgetfv fv 
  808. fvdir fv,0.0f,0.0f,1.2f 
  809. seldir shot:objsetfv fv 
  810. snd 4 
  811. time=0
  812. }
  813. return 
  814. *myshot2 
  815.  
  816. rnd ran,8
  817. regobj shot,myball, 4| $80| 32 
  818. setcoli shot,mycl,0 
  819. selpos shot:objsetv fv 
  820. selang my:objgetfv fv 
  821. if âXâeü[âW=0{fvdir fv,fv8,0.0f,-1.2f
  822. }
  823. if âXâeü[âW=1{fvdir fv,fv8,0.0f,-1.6f
  824. }
  825. if âXâeü[âW=2{fvdir fv,fv8,0.0f,-1.4f
  826. }
  827. if âXâeü[âW=3{fvdir fv,fv8,0.0f,-1.3f
  828. }
  829. if âXâeü[âW=4{fvdir fv,fv8,0.0f,-1.4f
  830. }
  831. if âXâeü[âW=5{
  832. fvdir fv,fv8,0.0f,-1.4f
  833. }
  834. seldir shot:objsetfv fv 
  835. snd 4
  836. return 
  837. *dead 
  838.  
  839. zx=0
  840. repeat 400
  841. zx+1
  842. if zx>100:zx=100
  843. hgdraw
  844. if hp<0{pos 250,200:gcopy 13,0,0,300,zx
  845. selpos my :objgetfv po
  846. regobj ob,mdez, 16
  847. selpos ob :objsetfv po
  848. delobj mychr}
  849. if hp2<0{pos 250,200:gcopy 12,0,0,300,zx
  850. selpos my :objgetfv po
  851. regobj ob,mdez, 16
  852. selpos ob :objsetfv po
  853. delobj mychr2}
  854. hgsync speed 
  855. stick k,15,1:if k&128 : goto *owari 
  856. selang my:objaddf1 1,0.2f 
  857. delobj my
  858. loop
  859. if hp<0{âRâôâeâBâjâàü[-1:goto *start
  860. }
  861. if hp2<0{âXâeü[âW+1:goto *start
  862. }
  863. goto *start
  864. *owari 
  865. hgbye 
  866. end
  867.